package com.whfc.fmam.entity.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @author sun_guodong
 * @description
 * @date 2019-12-18
 */
@Data
public class FmamRecvSendAnaMatDTO implements Serializable {

    /**
     * 材料id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long matId;

    private String guid;
    /**
     * 材料名称
     */
    private String matName;
    /**
     * 规格
     */
    private String spec;
    /**
     * 型号
     */
    private String model;
    /**
     * 单位
     */
    private String unitName;
    /**
     * 运单数量
     */
    private Double deliveryAmount;
    /**
     * 实际数量
     */
    private Double actualAmount;
    /**
     * 运单重量
     */
    private Double deliveryWeight;
    /**
     * 实际重量
     */
    private Double actualWeight;
    /**
     * 重量偏差
     */
    private Double weightDiff;
    /**
     * 数量偏差
     */
    private Double amountDiff;
    /**
     * 重量偏差率
     */
    private Double weightDiffPercent;
    /**
     * 数量偏差率
     */
    private Double amountDiffPercent;

    /**
     * 扣量类型:1-范围,2-比例
     */
    private Integer deductType;

    /**
     * 扣量
     */
    private Double deductAmount;

    /**
     * 确认量
     */
    private Double confirmWeight;

    /**
     * ***************磅单信息*******************
     */
    /**
     * 磅单id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long weighNoteId;
    /**
     * 磅单Guid
     */
    private String weighNoteGuid;
    /**
     * 磅单号
     */
    private String code;

    /**
     * 收发料时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date time;

    /**
     * 收发料类型（101-采购 102-调入 103-甲供 201-发料 202-废旧物资 203-调出  204-售出 301-直入直出 ）
     */
    private Integer recvSendType;
    /**
     * 磅单类型(1-收料 2-发料，3-直入直出)
     */
    private  Integer weightNoteType;

    /**
     * 收料单位
     */
    private String receiveSupplierName;

    /**
     * 发料单位
     */
    private Integer sendSupplierId;
    /**
     * 发料单位
     */
    private String sendSupplierName;

    /**
     * 偏差结果:0-正常 ,1-超正差 ,-1:超负差
     */
    private Integer diffResult;

    /**
     * 单据来源:0-称重 1-补录 2-移动验收
     */
    private Integer source;
}
